This invention relates generally to automatic test equipment and more particularly to a system and method for efficiently generating a test program for use in automatic test equipment.
Digital integrated circuits, such as microprocessors and application specific integrated circuits (ASICs) require substantial testing to ensure high quality and performance with low defect levels. During electronic circuit design, the testing of these devices is generally performed by automatic test equipment (ATE) which performs the testing under the control of a test program. The data for the test program can originate from several sources including scan and pattern data extracted from a design simulation program or from scan based automatic test program generation (ATPG).
A variety of commercial companies offer test data generation programs, either ATPG programs or design simulation programs. Since there are a variety of test program formats, most test data generation programs output to the intermediate format of a waveform language (the intermediate waveform format) instead of to the many different test program formats. It then becomes the user's problem to find a method of translating the intermediate waveform format into the format required for the test program. Getting the data from the source form to the ATE requires complicated data manipulation and often, custom programming, all of which requires large amounts of time and disk space.
Existing methods use the intermediate waveform format for two reasons. First, an intermediate waveform format conventionally provides a common starting point for all translations to all ATE formats. Second, existing methods presume that the translator needs to make many passes over the source test data to create the format required for the ATE. Therefore, existing methods presume a need for an intermediate data structure, such as the intermediate waveform, that contains all the source test data.
Existing methods treat the process of generating a test program from source test data as a multi-step process: first generating the intermediate waveform and then translating. Often, the translating step has multiple sub-steps that also operate serially, requiring each sub-step to be completed prior to the next sub-step.
There are a number of disadvantages with this approach. First, this process is slow. It requires that the test data generation program first create the intermediate waveform format which is separately run through a translator. Each step in this process can take hours for a state-of-the-art integrated circuit. Second, the intermediate waveform format consumes a considerable amount of disk space. The size of these files can quickly fill up disk drives of modern computers. The intermediate waveform format is often thrown away after the translation, making this a wasteful and inconvenient step.
When going from the intermediate waveform format to the test program, current methods require using or writing a separate translator for every ATE format. Typically, this translator is written by a test engineer, though there are commercial programs available to translate from the intermediate waveform format to an test program. But existing translation methods require a different translation program for each ATE format and follow the known methodology of making multiple passes over an intermediate waveform format.
Existing programs are inflexible and do not allow for an automatic way to go from the source test data all the way to the test program in one process.
Therefore, there is a need for a flexible system and method for automatically generating a test program from source test data.
Further, there is a need to automatically translate source test data without writing a separate translator for every ATE format.
Additionally, it is desirable to be able to run a test data generation program, such as a Scan ATPG or a Simulation program, and concurrently translate the data into a test program, thereby saving large amounts of both time and disk space.